home *** CD-ROM | disk | FTP | other *** search
- /*
- Visual FX Arexx Script
- Written By J.L. White
- (C)1997 Merlin's Software
- */
-
- Options Results
- address "IMAGEFX.1"
- ScreenToFront
- Undo Off
- if exists("libs:flyer.library") then do
- TOASTERLIB="ToasterARexx.port"
- call remlib('ToasterARexx.port')
- call remlib('PROJECT_REXX_PORT')
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- end
- call Settings()
- call open TempFile,"VFXIFX:TempDrawer/"FXNum".txt",R
- line = readln(TempFile)
- Type = strip(line)
- call close (TempFile)
- j=0
- TFrames = Frames
- if Field = 1 then TFrames = Frames*2
- do i = 1 to Frames
- call open TempFile,"RAM:VFXNums",W
- call writeln TempFile,right(i,5,'0')
- call writeln TempFile,right(Frames,5,'0')
- call close TempFile
- f=0
- Redraw Off
- FieldSet = 0
- if Padding ~= -1 & i = 1 then call PadIt(1)
- call LoadB()
- call LoadA()
- j = j+ 1
- call DoIt()
- Redraw On
- call SaveIt()
- if Field = 1 then do
- Redraw Off
- FieldSet = 1
- call LoadB()
- call LoadA()
- j = j + 1
- call DoIt()
- Redraw On
- call SaveIt()
- end
- if Padding ~= -1 & i = Frames then call PadIt(2)
- end
- if SaveType = 0 then do
- if Padding = -1 then
- call MakeIcon(SaveName,(Frames-10))
- else
- call MakeIcon(SaveName,(Padding+(Frames-10)))
- end
- Undo On
- exit
-
-
- PadIt:
- arg PadNum
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- if PadNum = 1 then do
- if IAType = 0 then do
- do Pad = Padding to 1 by -1
- LoadBuffer PicAName Force StartA-(Pad-1)
- call Switcher(TOSW)
- call Switcher(MDV1)
- Render Go
- call RecordAdd(SaveName,2,6,Compression)
- end
- end
- if IAType = 1 then do
- LoadBuffer PicAName Force 1
- call Switcher(TOSW)
- call Switcher(MDV1)
- Render Go
- call RecordAdd(SaveName,2*Padding,6,Compression)
- end
- if IAType = 2 then do
- LoadBuffer PicAName Force
- call Switcher(TOSW)
- call Switcher(MDV1)
- Render Go
- call RecordAdd(SaveName,2*Padding,6,Compression)
- end
- if IAType = 3 then do
- do Pad = Padding to 1 by -1
- LoadBuffer PicAName""right(StartA-(Pad-1),3,'0') Force
- call Switcher(TOSW)
- call Switcher(MDV1)
- Render Go
- call RecordAdd(SaveName,2,6,Compression)
- end
- end
- end
- else do
- if IBType = 0 then do
- do Pad = 1 to Padding
- LoadBuffer PicBName Force StartB+Pad+Frames
- call Switcher(TOSW)
- call Switcher(MDV1)
- Render Go
- call RecordAdd(SaveName,2,6,Compression)
- end
- end
- if IBType = 1 then do
- LoadBuffer PicBName Force 1
- call Switcher(TOSW)
- call Switcher(MDV1)
- Render Go
- call RecordAdd(SaveName,2*Padding,6,Compression)
- end
- if IBType = 2 then do
- LoadBuffer PicBName Force
- call Switcher(TOSW)
- call Switcher(MDV1)
- Render Go
- call RecordAdd(SaveName,2*Padding,6,Compression)
- end
- if IBType = 3 then do
- do Pad = 1 to Padding
- LoadBuffer PicBName""right(StartB+Pad+Frames),3,'0') Force
- call Switcher(TOSW)
- call Switcher(MDV1)
- Render Go
- call RecordAdd(SaveName,2,6,Compression)
- end
- end
- end
- return
-
-
- LoadA:
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- if j = TFrames then return
- if IAType = 0 then do
- LoadBuffer PicAName Force i+StartA
- end
- if IAType = 1 then do
- LoadBuffer PicAName Force 1
- end
- if IAType = 2 then do
- LoadBuffer PicAName Force
- end
- if IAType = 3 then do
- LoadBuffer PicAName""right(i+StartA,3,'0') Force
- end
-
- return
-
- LoadB:
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- if j = 1 then return
- if j < TFrames/2 then return
- if IBType = 0 then do
- LoadBuffer PicBName Force i+StartB
- end
- if IBType = 1 then do
- LoadBuffer PicBName Force 1
- end
- if IBType = 2 then do
- LoadBuffer PicBName Force
- end
- if IBType = 3 then do
- LoadBuffer PicBName""right(i+StartB,3,'0') Force
- end
- Swap
- return
-
-
- DoIt:
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- if j = TFrames then do
- Swap
- return
- end
- if j = 1 then do
- GetMain
- parse var result Name Width Height Blah
- return
- end
-
- ByNum = 400
- NewNum = ((j-1)*ByNum)/((TFrames/2)-1)
- NewNum1 = trunc(NewNum)
-
- ByNum = Height-(Height/4)
- if j > (TFrames/2) then
- NewNum3 = trunc(((ByNum -(((j-1) * ByNum)/(TFrames-1)))%1)*2)
-
- PerNum = (((j-1) * 720)/(TFrames-1))
- PerNum = trunc(PerNum-480)
- PerNum = -PerNum
-
- MainNum = 720
- Num = (((j-1) * MainNum)/(TFrames-1))
- NewNum2 = trunc(Num)
- if Type = 1 then NewNum2 = -NewNum2
- Hook Swirl NewNum2 0 0 0 0 0 Width/2 Height/2 NewNum1 0 0 Stretch AntiAlias
- if j > (TFrames/2) then do
- if PerNum < 0 then
- Hook Perspective '0' '0' '0' '0' '0' PerNum '0' '0' -1 -1 -1 0 Black AntiAlias
- AlphaChannel Off
- Buffer2Alpha
- SwapAlpha
- Clearbuffer Force 0 0 0
- EdgeMode FeatherOut 3
- FilledOval Width/2 Height/2 NewNum3 NewNum3
- Negative
- EdgeMode Normal
- SwapAlpha
- AlphaChannel FRISKET
- Merge 100 Alpha
- AlphaChannel Off
- end
- return
-
- SaveIt:
- if (POS('FLY_1',SHOW('Ports')) = 0) then do
- Undo On
- exit
- end
- if SaveType = 0 then do
- call Switcher(TOSW)
- call Switcher(MDV1)
-
- Render Go
- if Field = 1 then
- call RecordAdd(SaveName,1,6,Compression)
- else
- call RecordAdd(SaveName,2,6,Compression)
- end
-
- if SaveType = 1 then do
- if Field = 1 then do
- f= f + 1
- if f = 1 then
- SaveBufferAs ILBM "VFXIFX:TempDrawer/PicA"
- if f = 2 then do
- GetMain
- parse var result Name Width Height Blah
- Scale Width Height/2
- Swap
- LoadBuffer "VFXIFX:TempDrawer/PicA" Force
- Scale Width Height/2
- Hook Interlace
- SaveBufferAs ILBM SaveName""right(i,3,'0')
- f = 0
- end
- end
- else do
- SaveBufferAs ILBM SaveName""right(i,3,'0')
- end
- end
- return
-
-
-